home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (PO) / Nibble Volume 11, No. 09 (1990-09)(MindCraft Publishing)(Side A).zip / Nibble Volume 11, No. 09 (1990-09)(MindCraft Publishing)(Side A).po / SUMIT.bas < prev    next >
BASIC Source File  |  1996-12-24  |  19KB  |  369 lines

  1. 10  REM  *************************
  2. 20  REM  * SUMIT                 *
  3. 30  REM  * By Bill Thompson      *
  4. 40  REM  * Copyright(c) 1990     *
  5. 50  REM  * MindCraft Publ. Corp. *
  6. 60  REM  * Concord, MA 01742     *
  7. 70  REM  *************************
  8. 80  REM 
  9. 90  HOME : VTAB 12: HTAB 5: PRINT  CHR$(21): PRINT "One moment loading some files...."
  10. 100  ONERR  GOTO 3590
  11. 110  PRINT  CHR$(4)"BLOAD CHIRP,A$2E2": PRINT  CHR$(4)"BRUN AMPOS"
  12. 120  POKE 216,0: GOTO 240
  13. 130  REM  ===========
  14. 140  REM  Subroutines
  15. 150  REM  ===========
  16. 160  FOR K = 1 TO R: NEXT K: RETURN 
  17. 170 G1 = 736:G2 = 737:CL = 738: POKE G1,H1: POKE G2,H2: CALL CL: RETURN 
  18. 180  FOR K = 100 TO 20  STEP  -40: POKE G1,K: POKE G2,5: CALL CL: NEXT 
  19. 190  RETURN 
  20. 200  FOR K = 1 TO 20:BP =  PEEK(49200) + PEEK(49200): NEXT : RETURN 
  21. 210  REM  ==================
  22. 220  REM  Variable Intialize
  23. 230  REM  ==================
  24. 240  ONERR  GOTO 3640
  25. 250 P1$ =  CHR$(252):P2$ =  CHR$(223):A$ = "@@@":B$ = P2$ +P1$ +P2$:C$ = A$ +A$:L1$ =  CHR$(220):L2$ =  CHR$(175):H1$ =  CHR$(207):H2$ =  CHR$(239)
  26. 260 B1$ =  CHR$(255):F$ =  CHR$(205):Z$ =  CHR$(160):W1$ =  CHR$(190):W2$ =  CHR$(188):A2$ = "***":A3$ = "...":O$ =  CHR$(176): GOSUB 3450
  27. 270  REM  ============
  28. 280  REM  Create sceen
  29. 290  REM  ============
  30. 300  HOME : TEXT : INVERSE : & 1,2, SPC( 24);: NORMAL : PRINT "-";: INVERSE : PRINT  SPC( 2);: NORMAL : PRINT  SPC( 1)O$ SPC( 1)
  31. 310  INVERSE : PRINT ":SCORE:": VTAB 2: NORMAL : PRINT B$ SPC( 23);: INVERSE : PRINT  SPC( 2);: NORMAL : PRINT L2$B1$W1$;
  32. 320  INVERSE : PRINT ":";: NORMAL : PRINT  SPC( 5);: INVERSE : PRINT ":": & 3,27, SPC( 2);: NORMAL : PRINT  SPC( 1)F$ SPC( 1);: INVERSE : PRINT ":::::::"
  33. 330  FOR I = 4 TO 20  STEP 16: & I,27, SPC( 14): NEXT : FOR K = 4 TO 20: & K,27, SPC( 1): & K,40, SPC( 1): NEXT 
  34. 340  FOR I = 6 TO 24  STEP 4: & I,6, SPC( 16): NEXT : FOR I = 6 TO 24: & I,22, SPC( 1): NEXT 
  35. 350  FOR I = 21 TO 23: & I,39, SPC( 2): NEXT 
  36. 360 J1 = 27:J2 = 2: GOSUB 980: VTAB 21: PRINT  SPC( 1)H2$: VTAB 22: PRINT L2$B1$L1$ SPC( 1);: INVERSE : PRINT  SPC( 1): NORMAL 
  37. 370  & 23,1, SPC( 1)F$ SPC( 2);: INVERSE : PRINT  SPC( 1);: NORMAL : PRINT  SPC( 9);: INVERSE : PRINT  SPC( 8): & 19,28, SPC( 12): & 18,28, SPC( 1): & 24,1, SPC( 39): NORMAL : POKE 2039,32
  38. 380  & 5,28,P2$; SPC( 5)B$: HTAB 27: PRINT  SPC( 2)L1$: HTAB 28: PRINT L1$
  39. 390  & 15,35,H1$: HTAB 34: PRINT L2$B1$L1$: HTAB 34: PRINT P2$F$P2$: HTAB 31: PRINT B1$ SPC( 2)P1$ SPC( 1)P1$: HTAB 31: PRINT P1$
  40. 400  REM  =====================
  41. 410  REM  Problem Tab Locations
  42. 420  REM  =====================
  43. 430  RESTORE 
  44. 440  FOR M = 1 TO 6: READ U(M),H(M): NEXT : DATA  23,10,21,12,17,14,13,16,9,18,5,20
  45. 450  REM  ===============
  46. 460  REM  Reset Variables
  47. 470  REM  ===============
  48. 480 B5 = 15:SC = 0:MN = 2:W9 = 1
  49. 490 S1 = 1:UP = 20:Q$ = "":V = 0:V6 = 1:W1 = 1: INVERSE : & 6,22,H1$: & 23,16,"MEN="MN: NORMAL 
  50. 500  REM  =========
  51. 510  REM  Main Loop
  52. 520  REM  =========
  53. 530  FOR M = 1 TO 6
  54. 540 A1 = 0:T$ = ""
  55. 550  GOSUB 1350: GOSUB 1510
  56. 560  IF  STR$(A1) = T$  THEN  GOSUB 1650: GOSUB 2380: GOTO 580
  57. 570  IF  STR$(A1) < >T$  THEN  GOSUB 1750: GOSUB 2470: GOTO 830
  58. 580  POKE 49168,0
  59. 590 S1 = 2
  60. 600  NEXT M
  61. 610  GOSUB 2140: GOSUB 2090: POKE 33,4:W$(1) = Z2$:W$(2) = Z1$
  62. 620 P = 1
  63. 630  FOR Z = 1 TO 2: & 2,1,W$(Z):R = 40: GOSUB 160: NEXT Z
  64. 640 P = P +1
  65. 650  IF P <10  THEN  GOTO 630
  66. 660  POKE 33,3: & 3,1, SPC( 9): TEXT : & 3,3,L1$H2$: HTAB 4: PRINT B1$L1$: HTAB 4: PRINT L1$L1$:R = 100: GOSUB 160: POKE 33,5: & 3,3, SPC( 13): TEXT 
  67. 670 W$(1) = Z$ +Z$ +W1$ +W1$:W$(2) = Z$ +W2$ +W2$
  68. 680 B = 1
  69. 690  FOR Z = 5 TO 19
  70. 700  & 3,Z, SPC( 1)H2$: HTAB Z -1: PRINT  SPC( 1)L2$B1$L1$: HTAB Z -1: PRINT W$(B)
  71. 710 H1 = Z:H2 = 5: GOSUB 170:R = 35: GOSUB 160
  72. 720 B = B +1
  73. 730  IF B >2  THEN B = 1
  74. 740  NEXT 
  75. 750  & 5,20,F$ SPC( 1):R = 280: GOSUB 160: INVERSE : & 6,22, SPC( 1): NORMAL :H1 = 90:H2 = 40: GOSUB 170
  76. 760  & 5,22,H2$;:R = 50: GOSUB 160: HTAB 22: PRINT  SPC( 1): & 4,22,H2$;:R = 50: GOSUB 160: HTAB 22: PRINT  SPC( 1)
  77. 770  & 4,21, SPC( 1): & 3,21,L2$H2$:R = 50: GOSUB 160:H1 = 50:H2 = 30: GOSUB 170: & 3,21, SPC( 2): & 4,21,L1$ SPC( 1)H2$;:R = 50: GOSUB 160
  78. 780  HTAB 23: PRINT  SPC( 1): & 5,25,H2$;: HTAB 25: PRINT  SPC( 1): & 6,27,H2$;:R = 80: GOSUB 160: HTAB 27: PRINT  SPC( 1)
  79. 790 H1 = 90:H2 = 20: GOSUB 170: & 7,29,H2$;:R = 80: GOSUB 160: HTAB 29: PRINT  SPC( 1)
  80. 800  FOR Z = 9 TO 17: & Z,31,H2$:R = 40: GOSUB 160: & Z,31, SPC( 1): NEXT : & 18,31,H2$: & 19,31,B1$
  81. 810  FOR K = 10 TO 40  STEP 10: POKE G1,K: POKE G2,5: CALL CL: NEXT K
  82. 820  IF B5 >5  THEN  GOSUB 2220
  83. 830  GOTO 490
  84. 840  REM  =============
  85. 850  REM  End Main Loop
  86. 860  REM  =============
  87. 870  REM 
  88. 880  REM   ===========
  89. 890  REM  Subroutines
  90. 900  REM  ===========
  91. 910  & 2,29, SPC( 1): & 1,29,L1$:H1 = 90:H2 = 5: GOSUB 170: RETURN 
  92. 920  & 1,29, SPC( 1): & 2,29,L2$:H1 = 40:H2 = 5: GOSUB 170: RETURN 
  93. 930  & 2,29, SPC( 1): & 1,29,L1$: & 2,31,L1$: RETURN 
  94. 940  & 1,29, SPC( 1): & 2,29,L2$B1$W1$: RETURN 
  95. 950  REM  ==========
  96. 960  REM  Brick Move
  97. 970  REM  ==========
  98. 980  FOR I1 = 22 TO 23
  99. 990  INVERSE 
  100. 1000  & I1,J1,A$;: NORMAL : PRINT  SPC( 1);: INVERSE : PRINT A$;: NORMAL : PRINT  SPC( 1);: INVERSE : PRINT A$;: NORMAL : PRINT  SPC( 1);
  101. 1010  IF J2 = 1  THEN  INVERSE : PRINT A$
  102. 1020  IF J2 = 2  THEN  PRINT 
  103. 1030  NORMAL 
  104. 1040  NEXT 
  105. 1050  RETURN 
  106. 1060  REM  ==========
  107. 1070  REM  Brick Drop
  108. 1080  REM  ==========
  109. 1090  FOR X = 1 TO 24: GOSUB 910: & 2,X,B$:R = 20: GOSUB 160: & 2,X, SPC( 3): GOSUB 920:R = 20: GOSUB 160: NEXT 
  110. 1100 J1 = 24:J2 = 1: GOSUB 980: & 2,24,B$: GOSUB 930
  111. 1110  FOR Y = 2 TO 20: & Y,24,B$:R = 1: GOSUB 160: & Y,24, SPC( 1)P1$ SPC( 1):H1 = 2:H2 = 2: GOSUB 170: NEXT 
  112. 1120  & 21,24,B$: GOSUB 940
  113. 1130  FOR Y = 23 TO 5  STEP  -1
  114. 1140  INVERSE : & Y,24,A$: & Y -1,24,A$: & Y -2,24,A$: NORMAL :R = 20: GOSUB 160: & Y -3,24,B$: & Y,24, SPC( 3):H1 = Y:H2 = 3: GOSUB 170
  115. 1150  NEXT 
  116. 1160 J1 = 27:J2 = 2: GOSUB 980: GOSUB 910
  117. 1170  FOR X = 24 TO 1  STEP  -1
  118. 1180  NORMAL : & 2,X,B$: INVERSE : & 3,X,A$: & 4,X,A$:R = 10: GOSUB 160: NORMAL : & 2,X +2, SPC( 1): & 3,X +2, SPC( 1): & 4,X +2, SPC( 1):H1 = 30 -X:H2 = 4: GOSUB 170
  119. 1190  NEXT 
  120. 1200  POKE 33,3: & 2,1,B$: INVERSE : & 3,1,C$: NORMAL : GOSUB 920
  121. 1210  FOR I = 5 TO 20: INVERSE : VTAB I: PRINT C$: NORMAL : VTAB I -2: PRINT  SPC( 6): NEXT 
  122. 1220  POKE 33,4: VTAB 22: HTAB 1: PRINT L1$H2$L2$ SPC( 1)P2$B1$P2$:R = 40: GOSUB 160: POKE 33,3: INVERSE : VTAB 21: PRINT C$: NORMAL : VTAB 20: PRINT  SPC( 3)
  123. 1230  POKE 33,4: VTAB 23: PRINT L1$H2$L2$:R = 40: GOSUB 160: POKE 33,3: VTAB 21: PRINT  SPC( 3)
  124. 1240  POKE 33,4: INVERSE : VTAB 23: PRINT A$: NORMAL : FOR S = 1 TO 10: POKE G1,10: POKE G2,2: CALL CL: NEXT S
  125. 1250 E$(1) = A$ +Z$ +A$:E$(2) = A2$ +Z$ +A2$:E$(3) = A3$ +Z$ +A3$
  126. 1260  FOR I = 1 TO 3: VTAB 22: PRINT E$(I):R = 5: GOSUB 160: NEXT : VTAB 22: PRINT  SPC( 7): RETURN 
  127. 1270  REM  ==========
  128. 1280  REM  Man Doomed
  129. 1290  REM  ==========
  130. 1300  POKE 33,3:A$(1) = L1$ +H2$ +L2$ +P2$ +B1$ +P2$ +Z$ +Z$:A$(2) = Z$ +H2$ +Z$ +L2$ +B1$ +L1$ +Z$ +F$
  131. 1310  FOR I = 1 TO 2: VTAB 21: PRINT A$(I):R = 50: GOSUB 160: NEXT : RETURN 
  132. 1320  REM  ================
  133. 1330  REM  Generate Problem
  134. 1340  REM  ================
  135. 1350  GOSUB 1390:Q$ = X$:W = 0:V = V +1: GOSUB 1430: & U(M),6,Q$E$: RETURN 
  136. 1360  REM  =============
  137. 1370  REM  Random Number
  138. 1380  REM  =============
  139. 1390 X =  INT(9 * RND(1) +1):X$ =  STR$(X):A1 = A1 +X: RETURN 
  140. 1400  REM  ============
  141. 1410  REM  Math Routine
  142. 1420  REM  ============
  143. 1430 P$ = "+":E$ = "="
  144. 1440  GOSUB 1390
  145. 1450 Q$ = Q$ +(P$ +X$):W = W +1
  146. 1460  IF W = V  THEN  RETURN 
  147. 1470  GOTO 1440
  148. 1480  REM  =====
  149. 1490  REM  Input
  150. 1500  REM  =====
  151. 1510 X = H(M):Y = U(M):CT = 900
  152. 1520 KEY =  PEEK(49152)
  153. 1530  IF KEY = 141  THEN  & Y,X, SPC( 1): POKE 49168,0: RETURN 
  154. 1540  IF KEY = 136  OR KEY = 149  OR KEY = 160  THEN X = H(M):T$ = "": & Y,X, SPC( 4): PRINT  CHR$(7): POKE 49168,0
  155. 1550  FLASH : & Y,X, SPC( 1): NORMAL 
  156. 1560  IF T5 = 1  THEN  GOTO 1580
  157. 1570  GOSUB 3320
  158. 1580  IF KEY <176  OR KEY >185  THEN  GOTO 1520
  159. 1590  IF X >H(M) +2  THEN X = H(M):T$ = "": & Y,X, SPC( 4): PRINT  CHR$(7): POKE 49168,0: GOTO 1520
  160. 1600 S$ =  CHR$(KEY -128): & Y,X,S$:T$ = T$ +S$:X = X +1: POKE 49168,0
  161. 1610  GOTO 1520
  162. 1620  REM  ============
  163. 1630  REM  Ring Routine
  164. 1640  REM  ============
  165. 1650  IF S1 = 2  THEN  GOTO 1670
  166. 1660  GOSUB 910: POKE 33,3: FOR I = 3 TO 20: & I,1,B$:H1 = 2:H2 = 2: GOSUB 170: & I -1,1, SPC( 1)P1$ SPC( 1): NEXT 
  167. 1670  POKE 33,4:P5$ = B$ +Z$ +L1$ +H2$ +L2$ +Z$ +Z$ +B1$ +Z$ +Z$:Z1$ = P5$ +L2$ +L2$ +Z$:Z2$ = P5$ +Z$ +L1$ +L1$:Z3$ = P5$ +Z$ +F$
  168. 1680  & UP,1,Z1$:R = 100: GOSUB 160: & UP,1,Z2$: GOSUB 920:R = 50: GOSUB 160: GOSUB 910:R = 100: GOSUB 160: & UP,1, SPC( 15):UP = UP -3
  169. 1690  GOTO 1710
  170. 1700  IF UP >U(M +1)  THEN  GOTO 1680
  171. 1710  & UP,1,Z3$: TEXT : RETURN 
  172. 1720  REM  ========
  173. 1730  REM  Drop Man
  174. 1740  REM  ========
  175. 1750 P6$ = L1$ +H2$ +L2$ +Z$ +Z$ +B1$ +Z$ +Z$ +Z$ +F$:D1$(1) = Z$ +Z$ +Z$ +Z$ +P6$:D1$(2) = Z$ +Z$ +Z$ +Z$ +Z$ +H2$ +Z$ +Z$ +L2$ +B1$ +L1$ +Z$ +Z$ +F$
  176. 1760  POKE 33,4
  177. 1770  IF S1 = 1  THEN  GOTO 1830
  178. 1780  FOR K = UP +1 TO 20
  179. 1790  REM  Falling
  180. 1800  & K,1,D1$(1)
  181. 1810  NEXT 
  182. 1820  IF W1 = 2  THEN  GOTO 3030
  183. 1830  GOSUB 200
  184. 1840  TEXT : INVERSE 
  185. 1850  IF CT = 0  AND T5 = 2  OR T5 = 3  THEN  & 1,5,"TIMES UP SORRY!!": GOTO 1870
  186. 1860  & 1,5,"SORRY YOU'RE WRONG": NORMAL : POKE 33,4
  187. 1870  NORMAL : POKE 33,4
  188. 1880 Z1 = 1
  189. 1890 D1$(1) = P6$ +Z$ +Z$ +Z$ +Z$
  190. 1900  FOR L = 1 TO 2: & 20,1,D1$(L):R = 25: GOSUB 160:H1 = 10:H2 = 2: GOSUB 170: & 20,1, SPC( 12): NEXT L
  191. 1910 Z1 = Z1 +1
  192. 1920  IF Z1 <10  THEN  GOTO 1900
  193. 1930  & 20,1,D1$(2)
  194. 1940  REM  =========
  195. 1950  REM  Handle Up
  196. 1960  REM  =========
  197. 1970  IF  LEN(Q$) = 3  THEN  GOTO 2000
  198. 1980  GOSUB 920
  199. 1990  FOR N = UP TO 2  STEP  -1: & N,1, SPC( 8):R = 2: GOSUB 160: & N,1,B$:H1 = N:H2 = 2: GOSUB 170:R = 2: GOSUB 160: NEXT 
  200. 2000  TEXT 
  201. 2010  INVERSE : & 22,15, SPC( 1)"YOU'RE" SPC( 1): FLASH : & 23,16,"DOOMED": NORMAL 
  202. 2020  GOSUB 1090: TEXT : INVERSE : & 22,16, SPC( 6): & 23,16, SPC( 6): & 1,5, SPC( 18): NORMAL 
  203. 2030  GOSUB 2080
  204. 2040  RETURN 
  205. 2050  REM  ==============
  206. 2060  REM  Clear Problems
  207. 2070  REM  ==============
  208. 2080 R = 50: GOSUB 160
  209. 2090 S9 = 17
  210. 2100  FOR K = 5 TO 21  STEP 4: & K,6, SPC( S9):S9 = S9 -2:H1 = 200:H2 = 20: GOSUB 170: NEXT : & 23,6, SPC( 8): RETURN 
  211. 2110  REM  ============
  212. 2120  REM  Good Message
  213. 2130  REM  ============
  214. 2140 GO = 1: INVERSE 
  215. 2150  FOR I = 7 TO 8: & 1,2, SPC( 19): & 1,I,"GOOD JOB": NORMAL : GOSUB 2380: INVERSE : NEXT I
  216. 2160 GO = GO +1
  217. 2170  IF GO <8  THEN  GOTO 2150
  218. 2180  & 1,2, SPC( 19): NORMAL : RETURN 
  219. 2190  REM  ===========
  220. 2200  REM  Up To Bonus
  221. 2210  REM  ===========
  222. 2220 B5 = B5 -1
  223. 2230  & B5,35,H1$: HTAB 34: PRINT L2$B1$L1$: HTAB 34: PRINT P2$F$P2$: HTAB 34: PRINT P1$ SPC( 1)P1$
  224. 2240  & 17,30,H2$: HTAB 31: PRINT B1$: HTAB 31: PRINT P1$:R = 50: GOSUB 160: & 17,30, SPC( 1): PRINT : HTAB 29: PRINT H2$;:R = 50: GOSUB 160: HTAB 29: PRINT  SPC( 1)
  225. 2250  POKE G1,10: POKE G2,10: CALL CL: POKE 33,22: & 3,1, SPC( 66): TEXT 
  226. 2260 D5 = 5
  227. 2270  & D5,23,L1$H2$L2$: HTAB 24: PRINT B1$: HTAB 24: PRINT F$: & D5 -1,23, SPC( 3):D5 = D5 +1
  228. 2280  IF D5 <22  THEN  GOTO 2270
  229. 2290  GOSUB 200: & 21,23, SPC( 1)H2$ SPC( 1): & 22,23,L2$B1$L1$
  230. 2300  IF B5 = 6  THEN  GOSUB 2530
  231. 2310 R = 100: GOSUB 160: & 21,24, SPC( 1): & 22,23,H2$L2$ SPC( 1): & 23,23,B1$ SPC( 1):R = 100: GOSUB 160: & 22,23, SPC( 2): & 23,23, SPC( 1)
  232. 2320 R = 100: GOSUB 160: POKE 33,4: & 23,2,L1$H2$;:R = 200: GOSUB 160: HTAB 2: PRINT  SPC( 2): POKE 33,3: & 21,1, SPC( 1)H2$ SPC( 1)L2$B1$L1$ SPC( 1)F$: TEXT 
  233. 2330  IF SC = 99999  AND V6 = 1  THEN  POP : GOTO 3020
  234. 2340  RETURN 
  235. 2350  REM  =====
  236. 2360  REM  Score
  237. 2370  REM  =====
  238. 2380 SC = SC +100
  239. 2390  IF SC >99999  THEN SC = 99999
  240. 2400 SC$ =  STR$(SC):L =  LEN(SC$): & 2,33, SPC( 5): & 2,38 -L,SC
  241. 2410  FOR K = 15 TO 10  STEP  -2: POKE G1,K: POKE G2,20: CALL CL: NEXT K
  242. 2420  IF SC = 99999  AND V6 = 1  THEN  POP : GOTO 3020
  243. 2430  RETURN 
  244. 2440  REM  ========
  245. 2450  REM  Men Left
  246. 2460  REM  ========
  247. 2470 MN = MN -1
  248. 2480  IF MN = 0  THEN  POP : INVERSE : & 23,16,"MEN=";MN: NORMAL : VTAB 12: GOTO 2690
  249. 2490 R = 200: GOSUB 160: GOSUB 2320: RETURN 
  250. 2500  REM  ==========
  251. 2510  REM  Bonus Drop
  252. 2520  REM  ==========
  253. 2530  & 6,34,L1$H1$L2$: HTAB 34: PRINT  SPC( 1)B1$ SPC( 1): PRINT : HTAB 34: PRINT  SPC( 1)F$ SPC( 1)
  254. 2540 V6 = 0
  255. 2550  FOR Z = 10 TO 17
  256. 2560  & Z -1,34, SPC( 3): & Z,34,P2$ +P2$ +P2$: & Z +1,34,P1$ SPC( 1)P1$: & Z -1,34, SPC( 3):H1 = Z:H2 = 10: GOSUB 170
  257. 2570 R = 20: GOSUB 160
  258. 2580  NEXT 
  259. 2590  FOR Z = 6 TO 14
  260. 2600  & Z -1,34, SPC( 1)P1$ SPC( 1): & Z,34,B$: & Z +1,34,L1$H1$L2$: & Z +2,35,B1$: & Z +3,35,F$:SC = SC +3540: GOSUB 2390
  261. 2610  NEXT 
  262. 2620  & 15,34, SPC( 1)H1$ SPC( 1): & 16,34,L2$B1$L1$: FOR K = 1 TO 10:BP =  PEEK(49200): NEXT 
  263. 2630  FOR Z = 13 TO 5  STEP  -1: & Z,34,B$:H1 = 2:H2 = 2: GOSUB 170:R = 25: GOSUB 160: & Z +1,34, SPC( 3): NEXT 
  264. 2640 B5 = 15:V6 = 1
  265. 2650  RETURN 
  266. 2660  REM  =====
  267. 2670  REM  Loser
  268. 2680  REM  =====
  269. 2690  & 2,29,W2$B1$ SPC( 1): & 1,29, SPC( 1)O$L2$:R = 150: GOSUB 160: FOR K = 1 TO 3: & K,32, SPC( 7): NEXT 
  270. 2700  INVERSE : & 5,32,":SCORE:":SC$ =  STR$(SC):L =  LEN(SC$): & 6,32,":";: NORMAL : PRINT  SPC( 5);: INVERSE : PRINT ":": NORMAL 
  271. 2710  & 6,38 -L,SC: INVERSE : & 7,32,":::::::": NORMAL : & 1,31, SPC( 1): & 2,31,L1$:R = 125: GOSUB 160: & 2,31,W1$: & 5,32, SPC( 7): & 5,34,B$
  272. 2720  FOR Z = 7 TO 16
  273. 2730  NORMAL : & Z -1,32, SPC( 7): INVERSE 
  274. 2740  & Z,32,":SCORE:": & Z +1,32,":";: NORMAL : & Z +1,33, SPC( 5);
  275. 2750  INVERSE : & Z +1,37,":": NORMAL : & Z +1,38 -L,SC: INVERSE : & Z +2,32,":::::::"
  276. 2760 R = 35: GOSUB 160
  277. 2770  NEXT 
  278. 2780  GOSUB 200
  279. 2790  NORMAL 
  280. 2800  & 10,16,"]]]]]]]]]]]]]": & 11,16,P1$ SPC( 1)"Game" SPC( 1)"Over" SPC( 1)P1$: & 12,16,P1$ SPC( 3)"Play" SPC( 4)P1$: & 13,16,P1$ SPC( 1)"Again Y/N" SPC( 1)P1$
  281. 2810  & 14,16,"]]]]]]]]]]]]]"
  282. 2820  IF W9 = 0  THEN  & 3,4,"You have beat Zero Boy": & 4,4,"Congratulations !!!": & 5,4, SPC( 20): GOTO 2840
  283. 2830  & 1,34,"Zero": & 2,34,"Boy": & 3,34,"Wins"
  284. 2840  POKE 49168,0
  285. 2850 KEY =  PEEK(49152)
  286. 2860  IF W9 = 0  THEN  & 22,1, SPC( 1)B1$ SPC( 1): & 21,1,L1$H2$L2$: & B5 +1,34, SPC( 1)B1$ SPC( 1): & B5,34,L1$H1$L2$: GOTO 2880
  287. 2870  & 2,29, SPC( 1)B1$ SPC( 1): & 1,29,W2$O$W1$
  288. 2880  & 13,24,"y/n"
  289. 2890 R = 100: GOSUB 160
  290. 2900  IF W9 = 0  THEN  & 22,1,L2$B1$L1$: & 21,1, SPC( 1)H2$ SPC( 1): & B5 +1,34,L2$B1$L1$: & B5,34, SPC( 1)H1$ SPC( 1): GOTO 2920
  291. 2910  & 1,29, SPC( 1)O$ SPC( 1): & 2,29,L2$B1$W1$
  292. 2920  & 13,24,"Y/N":R = 100: GOSUB 160:BP =  PEEK(49200)
  293. 2930  IF KEY <128  THEN  GOTO 2850
  294. 2940  IF KEY = 206  OR KEY = 238  OR KEY = 249  OR KEY = 217  THEN  GOTO 2970
  295. 2950  POKE 49168,0
  296. 2960  GOTO 2850
  297. 2970  IF KEY = 249  OR KEY = 217  THEN  RUN 240
  298. 2980  POKE 49168,0: TEXT : HOME : & 12,17,"game over": END 
  299. 2990  REM  ======
  300. 3000  REM  Winner
  301. 3010  REM  ======
  302. 3020 S1 = 2:W1 = 2: GOTO 1750
  303. 3030  VTAB 21: PRINT  SPC( 1)H2$ SPC( 2)L2$B1$L1$: TEXT :BP =  PEEK(49200)
  304. 3040  FOR Z = 1 TO 10
  305. 3050  & 2,33,"-----":R = 20: GOSUB 160: & 2,33,"99999"
  306. 3060  FOR S = 1 TO 90  STEP 10: POKE G1,S: POKE G2,6: CALL CL: NEXT S
  307. 3070 R = 80: GOSUB 160
  308. 3080  NEXT Z
  309. 3090  & 1,29, SPC( 1): & 2,29,L2$: & 2,31, SPC( 1): & 1,31,L2$: & 3,30,W1$L1$
  310. 3100 R = 80: GOSUB 160
  311. 3110  INVERSE : & 1,31,":SCORE:": & 2,31,":";
  312. 3120  NORMAL : PRINT "99999";: INVERSE : PRINT ":": & 3,31,":"
  313. 3130  NORMAL : FOR K = 1 TO 3: & K,38, SPC( 1): NEXT : & 1,29,O$L2$: INVERSE : & 2,28,L2$;: NORMAL : PRINT B1$; SPC( 1): & 3,29,W1$L1$:H1 = 222:H2 = 30: GOSUB 170:R = 80: GOSUB 160
  314. 3140  INVERSE : & 1,27,":SCORE:": & 2,27,":";: NORMAL : PRINT "99999";
  315. 3150  INVERSE : PRINT ":": & 3,27,":::::::": NORMAL 
  316. 3160  FOR Z = 1 TO 3: & Z,34, SPC( 4): NEXT Z
  317. 3170  & 3,25,O$L2$: & 4,24,L2$B1$: & 5,25,L1$L1$: FOR Z = 3 TO 5: & Z,24, SPC( 3): NEXT :H1 = 222:H2 = 30: GOSUB 170
  318. 3180  FOR Z = 6 TO 21: & Z,23,L1$O$L2$: & Z +1,23, SPC( 1)B1$ SPC( 1): & Z +2,23, SPC( 1)F$ SPC( 1):R = 2: GOSUB 160: & Z -1,23, SPC( 3): NEXT 
  319. 3190  & 21,23, SPC( 1)O$ SPC( 1): & 22,23,L2$B1$L1$: GOSUB 200: & 2,30, SPC( 3)
  320. 3200 K = 27
  321. 3210  FOR Z = 2 TO 4: & Z,K,"9":K = K -1: NEXT Z
  322. 3220 R = 80: GOSUB 160: INVERSE : & 2,27,":";: NORMAL : PRINT  SPC( 3): FOR Z = 5 TO 7: & Z,24,"9": NEXT :R = 80: GOSUB 160: & 3,26, SPC( 1): & 4,25, SPC( 1)
  323. 3230 S = 5
  324. 3240  FOR Z = S TO S +4: & Z,24,"9": NEXT Z: POKE G1,S: POKE G2,20: CALL CL: & Z -6,24, SPC( 1):S = S +1
  325. 3250  IF S <17  THEN  GOTO 3240
  326. 3260  GOSUB 180: & 16,24, SPC( 1): & 21,24,"9": & 22,23,L1$O$L2$: & 23,24,B1$: GOSUB 180:R = 20: GOSUB 160: & 17,24, SPC( 1): & 22,23, SPC( 1)"9" SPC( 1): & 23,23,L1$O$L2$
  327. 3270  GOSUB 180: & 18,24, SPC( 1): & 23,23, SPC( 1)"9" SPC( 1): FOR Z = 19 TO 23: & Z,24, SPC( 1): GOSUB 180: NEXT 
  328. 3280 W9 = 0: GOTO 2790
  329. 3290  REM  =====
  330. 3300  REM  Timer
  331. 3310  REM  =====
  332. 3320  IF T5 = 2  THEN CT = CT -5
  333. 3330  IF T5 = 3  THEN CT = CT -10
  334. 3340  IF CT < = 0  THEN CT = 0
  335. 3350  INVERSE :CT$ =  STR$(CT): POKE 736,10: POKE 737,5: CALL 738: & 1,5,"CLOCK ";
  336. 3360  IF  LEN(CT$) = 3  THEN  PRINT CT
  337. 3370  IF  LEN(CT$) = 2  THEN  PRINT "0";CT
  338. 3380  IF  LEN(CT$) = 1  THEN  PRINT "00";CT
  339. 3390  NORMAL 
  340. 3400  IF CT = 0  THEN  POP : GOSUB 1750: GOSUB 2470: GOTO 830
  341. 3410  RETURN 
  342. 3420  REM  ===============
  343. 3430  REM  Intro & Options
  344. 3440  REM  ===============
  345. 3450  TEXT : HOME : INVERSE : FOR K = 7 TO 15: & K,13, SPC( 17): NEXT : & 8,19,"SUMIT": & 9,20,"BY": & 10,15,"BILL THOMPSON": & 11,13,"COPYRIGHT(C) 1990": & 12,17,"MINDCRAFT": & 13,16,"PUBL. CORP.": NORMAL : & 22,16,"Press a Key"
  346. 3460  POKE 49168,0: VTAB 22: HTAB 27: GET Y$: HOME : INVERSE : FOR I = 7 TO 17: & I,14, SPC( 15): NEXT : & 8,19,"GAME": & 9,18,"OPTIONS"
  347. 3470  & 11,15,"1. NO TIMER": & 12,15,"2. SLOW TIMER": & 13,15,"3. FAST TIMER": & 14,15,"4. QUIT"
  348. 3480  VTAB 16: HTAB 15: PRINT "SELECT (1-4)";
  349. 3490  POKE 49168,0: VTAB 16: HTAB 28: PRINT  CHR$(8);: GET GO$
  350. 3500 T5 =  VAL(GO$)
  351. 3510  IF T5 <1  OR T5 >4  THEN  GOTO 3480
  352. 3520  POKE 49168,0: NORMAL 
  353. 3530  IF T5 = 4  THEN  POP : TEXT : HOME : & 12,17,"game over": END 
  354. 3540  RETURN 
  355. 3550  REM  =============
  356. 3560  REM  Error Routine
  357. 3570  REM  =============
  358. 3580  NORMAL : PRINT  CHR$(4)"CLOSE": TEXT : HOME : PRINT  CHR$(7): PRINT  CHR$(7): PRINT  CHR$(7):ER =  PEEK(222):EL =  PEEK(219) *256 + PEEK(218): RETURN 
  359. 3590  GOSUB 3580
  360. 3600  IF ER = 6  THEN  PRINT "The files 'CHIRP' and/or 'AMPOS'": PRINT "Not Found on Disk....": GOTO 3630
  361. 3610  IF ER = 8  THEN  PRINT "A I/O error has occured....": GOTO 3630
  362. 3620  PRINT "A Error has occured..."
  363. 3630  POKE 216,0: END 
  364. 3640  GOSUB 3580
  365. 3650  VTAB 22: HTAB 1
  366. 3660  IF ER = 11  OR ER = 16  THEN  PRINT "A syntax error has": PRINT "occured in line ";EL: GOTO 3690
  367. 3670  IF ER = 255  THEN  PRINT "Ctrl-C Interrupt has occurred...": GOTO 3690
  368. 3680  PRINT "An error has occured": PRINT "in the program Maybe on line ";EL
  369. 3690  POKE 216,0: END